package com.yanqu.road.entity.activity.xiuxian.data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

public class XiuXianBattleResult implements Serializable {
    private int battleNum;           // 战斗序号
    private int attackerType;        // 攻击者类型
    private int winner;              // 胜利方 1：自己，2：npc, 0:未结束
    private String reward;           // 奖励
    private int skillId;             // 技能id
    private int atkTime;             // 攻击时间点
    private Boolean isBackAtk;       // 是否回击
    private XiuXianBattleInfo attacker;             // 攻击者
    private List<XiuXianBattleInfo> defenseList;    // 防守者信息
    private Map<Integer, XiuXianBattleCacheData> cacheDataMap = new ConcurrentHashMap<>();      // 战斗数据缓存

    public XiuXianBattleResult(int battleNum, int attackerType, Boolean isBackAtk, int skillId, XiuXianBattleInfo attacker, List<XiuXianBattleInfo> defenseList) {
        this.battleNum = battleNum;
        this.attackerType = attackerType;
        this.winner = 0;
        this.reward = "";
        this.skillId = skillId;
        this.isBackAtk = isBackAtk;
        this.attacker = attacker;
        this.defenseList = defenseList;
    }

    public int getBattleNum() {
        return battleNum;
    }

    public void setBattleNum(int battleNum) {
        this.battleNum = battleNum;
    }

    public int getAttackerType() {
        return attackerType;
    }

    public void setAttackerType(int attackerType) {
        this.attackerType = attackerType;
    }

    public int getWinner() {
        return winner;
    }

    public void setWinner(int winner) {
        this.winner = winner;
    }

    public String getReward() {
        return reward;
    }

    public void setReward(String reward) {
        this.reward = reward;
    }

    public int getSkillId() {
        return skillId;
    }

    public void setSkillId(int skillId) {
        this.skillId = skillId;
    }

    public List<XiuXianBattleInfo> getDefenseList() {
        return defenseList;
    }

    public void setDefenseList(List<XiuXianBattleInfo> defenseList) {
        this.defenseList = defenseList;
    }

    public XiuXianBattleInfo getAttacker() {
        return attacker;
    }

    public void setAttacker(XiuXianBattleInfo attacker) {
        this.attacker = attacker;
    }

    public int getAtkTime() {
        return atkTime;
    }

    public void setAtkTime(int atkTime) {
        this.atkTime = atkTime;
    }

    public Boolean getBackAtk() {
        return isBackAtk;
    }

    public void setBackAtk(Boolean backAtk) {
        isBackAtk = backAtk;
    }

    public Map<Integer, XiuXianBattleCacheData> getCacheDataMap() {
        return cacheDataMap;
    }

    public void setCacheDataMap(Map<Integer, XiuXianBattleCacheData> cacheDataMap) {
        this.cacheDataMap = cacheDataMap;
    }
}
